/*!
 * \file cics_mar.h
 *
 * \brief 底层数据操作
 *
 * All Rights Reserved Copyright (C) 2014 broada,Co.,Ltd.
 *
 * \version 1.0
 * \author songbb
 * \date 2015/10/07
 *
 */

#ifndef __CICS_MAR_H_
#define __CICS_MAR_H_

/*!
 * 读取boolean类型数据
 *
 * \param p_st_cics_packet      (CICS数据包)
 * \param p_i_out               (数据出力)
 *
 * \return 0  失败\n
 *         1  成功
 *
 */
int cics_mar_get_boolean(L7_cics_packet *p_st_cics_packet
                        , int *p_i_out);

/*!
 * 读取string数据,自动加\0
 *
 * \param p_st_sess             (CICS的Session信息)
 * \param p_st_cics_packet      (CICS数据包)
 * \param ui_len                (读取长度)
 * \param pp_out                (数据出力)
 *
 * \return 0  失败\n
 *         1  成功
 *
 */
int cics_mar_get_string(L7session_cics *p_st_sess
                        , L7_cics_packet *p_st_cics_packet
                        , unsigned int ui_len
                        , char **pp_out);
/*!
 * 读取utf数据
 *
 * \param p_st_cics_packet      (CICS数据包)
 * \param pp_out                (数据出力)
 * \param p_ui_out_len          (数据出力的长度)
 *
 * \return 0  失败\n
 *         1  成功
 *
 */
int cics_mar_get_utf(L7_cics_packet *p_st_cics_packet
                    , char **pp_out
                    , unsigned int *p_ui_out_len);

#endif
